package com.credithc.fastdfs.api.service;

import java.util.Map;

import org.apache.ibatis.annotations.Param;

import java.util.List;

import com.credithc.fastdfs.api.entity.FdfsInfo;
import com.credithc.framework.core.mybatis.page.PageController;

/** 
 * @ClassName: FdfsInfoService 
 * @Description: 文件表操作
 * @author zhaoc
 * @date 2015年5月14日
 * @time  上午8:49:25 
 */ 
public interface FdfsInfoService {
	/**
	 * @Title: insertFdfsInfo 
	 * @Description: 添加一条文件信息
	 * @param 
	 * @return void
	 * @throws
	 */
	public void insertFdfsInfo(FdfsInfo info) throws Exception;
	
	

    /*根据主键查询fdfsinfo
     * @param fsId
     * @return
     */
    public FdfsInfo selectByPrimaryKey(String fsId) throws Exception;
    
    /** 
     * @Title: updateStatusByPrimaryKey 
     * @Description: 通过主键
     * @param 
     * @return int
     * @throws 
     */ 
    int updateStatusByPrimaryKey(String fsId, int stat) throws Exception;
    /**
     *@date 2015年5月27日
     *@author checkSun
     *@description 更新 fileDownloadCounts
     * @param map int fileDownloadCounts, String fsId
     * @return
     */
    int updateFileDownloadCounts( @Param("map") Map map) throws Exception;
    /**
     * @Title: selectFsIdBySystemIdAndBusinessId 
     * @Description: 通过系统ID 和业务ID 查询文件列表 最多 50条
     * @param 
     * @return List<String>
     * @throws
     */
    public List<String> selectFsIdBySystemIdAndBusinessId(PageController page, String systemId, String businessId) throws Exception;
    /**
     * @Title: selectFsIdCountBySystemIdAndBusinessId 
     * @Description: 通过系统ID 和业务ID 查询文件数量
     * @param 
     * @return Integer
     * @throws
     */
    public Integer selectFsIdCountBySystemIdAndBusinessId(String systemId, String businessId) throws Exception;
    
    /** 
     * @Title: updateFdfsInfoByPrimaryKey 
     * @Description: 通过主键
     * @param 
     * @return int
     * @throws 
     */ 
    int updateFdfsInfoByPrimaryKey(FdfsInfo info) throws Exception;
}
